/*
 * @Author: Shane
 * @Date: 2022-05-30 14:53:51
 * @LastEditTime: 2022-05-30 14:53:59
 * @LastEditors: Shane
 * @Description: 虚线
 * @FilePath: /app-framework/widget_utils/test/dashline_widget.dart
 */

import 'package:flutter/material.dart';

class DashLine extends StatelessWidget {
  final double height;
  final Color color;
  final double dashWidth;

  const DashLine(
      {this.height = 1, this.color = Colors.grey, this.dashWidth = 10});

  @override
  Widget build(BuildContext context) {
    return LayoutBuilder(
      builder: (BuildContext context, BoxConstraints constraints) {
        final boxWidth = constraints.constrainWidth();
        final dashHeight = height;
        final dashCount = (boxWidth / (2 * dashWidth)).floor();
        return Flex(
          children: List.generate(
              dashCount,
              (_) => SizedBox(
                  width: dashWidth,
                  height: dashHeight,
                  child:
                      DecoratedBox(decoration: BoxDecoration(color: color)))),
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          direction: Axis.horizontal,
        );
      },
    );
  }
}
